Skip to content

Conversation

@calesanz
Copy link
Contributor

Overview

We would very much like to use the SplunkVersionControl app in our deployment.

In order to comply with our security policy all communication between servers has to be encrypted and verified using ssl certificates.

I created an additional setting to enable certificate verification.
In order to test the configuration I created a docker-compose and docker-splunk based environment in the test subfolder.

SSL verification for localhost communication is still disabled.

I would appreciate your feedback on the topic and would be pleased if you could merge the changes and publish them in your splunkbase app (after some more review and testing).

Technical Details

My primary focus was on the distributed deployment where a monitoring console or other backup host stores snapshots of the knowledge objects from other hosts.

I focused on the dynamic restore as this is what we want to use.

Testing

In order to test use docker-compose up in the test folder. This will create 3 containers. The first is only used to generate certificates.
The second and third are actual splunk instances. One is configured as a single searchhead and the other as monitoring console. The monitoring console will be responsible for backing up and restoring the data.

In order to test the original functionality without ssl, the ssl settings in test/sh_defaults.yml and test/bkp_defaults.yml can be removed.

Backconnection

In order make the back-connection from rest_restore to the searchhead work, I had to add another url macro (restoreAddress).
Maybe this could be incorporated to the restore input.conf.

Validators

In order to validate the sslVerify setting I used the splunklib validators. If you think this too much code the validators could be replaced by a simple distutils.util.strtobool conversion and check.

Copy link
Owner

@gjanders gjanders left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall this looks great, I just don't understand the places that have ", *," in the arguments to functions...

@gjanders
Copy link
Owner

Thankyou very much for your contribution

@gjanders gjanders merged commit 14aa4f6 into gjanders:master Feb 13, 2021
gjanders added a commit that referenced this pull request Feb 17, 2021
…sslVerify option to pass in the CA certificate file, or to leave SSL validation disabled

In addition this pull request adds a requestingAddress which optionally controls the call-back ip when using the postversioncontrolrestore command
Finally this pull requests adds scripts and a testing suite using docker

Updated python SDK to 1.6.15

Minor fixes to the pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants